package com.youfan.config;

import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RabbitMsgConvertConfigure {

    // 队列名称
    public final static String SPRING_BOOT_QUEUE = "youfanorder";
    // 交换机名称
    public final static String SPRING_BOOT_EXCHANGE = "youfanorder-convert";
    // 绑定的值
    public static final String SPRING_BOOT_BIND_KEY = "youfanorder-key-msg-convert";


//    // === 在RabbitMQ上创建queue,exchange,binding 方法一：通过@Bean实现 begin ===
//    /**
//     * 定义队列：
//     * @return
//     */
//    @Bean
//    Queue queue() {
//        return new Queue(SPRING_BOOT_QUEUE, false);
//    }
//
//    /**
//     * 定义交换机
//     * @return
//     */
//    @Bean
//    TopicExchange exchange() {
//        return new TopicExchange(SPRING_BOOT_EXCHANGE);
//    }
//
//    /**
//     * 定义绑定
//     * @param queue
//     * @param exchange
//     * @return
//     */
//    @Bean
//    Binding binding(Queue queue, TopicExchange exchange) {
//        return BindingBuilder.bind(queue).to(exchange).with(SPRING_BOOT_BIND_KEY );
//    }

    /**
     * 定义消息转换实例
     * @return
     */
    @Bean
    MessageConverter jackson2JsonMessageConverter() {
        return new Jackson2JsonMessageConverter();
    }


}
